<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Cheetah Software: DynamicsSimulator.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Cheetah Software
   &#160;<span id="projectnumber">1.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="../../namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="../../annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="../../search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
      <li><a href="../../globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d0/d52/_dynamics_simulator_8h_source.html','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">DynamicsSimulator.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="../../d0/d52/_dynamics_simulator_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#ifndef PROJECT_DYNAMICSSIMULATOR_H</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#define PROJECT_DYNAMICSSIMULATOR_H</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../dc/d8e/_collision_box_8h.html">Collision/CollisionBox.h</a>&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d6/df5/_collision_mesh_8h.html">Collision/CollisionMesh.h</a>&quot;</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d2/daf/_collision_plane_8h.html">Collision/CollisionPlane.h</a>&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d5/d79/_contact_constraint_8h.html">Collision/ContactConstraint.h</a>&quot;</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d5/d9a/_floating_base_model_8h.html">FloatingBaseModel.h</a>&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d4/dfb/orientation__tools_8h.html">Math/orientation_tools.h</a>&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/dc8/spatial_8h.html">spatial.h</a>&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="keyword">using namespace </span><a class="code" href="../../da/d9b/namespaceori.html">ori</a>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keyword">using namespace </span><a class="code" href="../../de/d1a/namespacespatial.html">spatial</a>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;eigen3/Eigen/Dense&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="../../dc/d77/struct_robot_homing_info.html">   25</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../dc/d77/struct_robot_homing_info.html">RobotHomingInfo</a> {</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;  EIGEN_MAKE_ALIGNED_OPERATOR_NEW</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="../../dc/d77/struct_robot_homing_info.html#a1703b27800fa38b4638bff2189bbe4cc">   27</a></span>&#160;  <a class="code" href="../../d9/d8e/cpp_types_8h.html#a6f07728c866b15ff0676a9b2ebfd2ba6">Vec3&lt;T&gt;</a> <a class="code" href="../../dc/d77/struct_robot_homing_info.html#a1703b27800fa38b4638bff2189bbe4cc">position</a>;</div><div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="../../dc/d77/struct_robot_homing_info.html#abf4040ec16284bcb4188fe19fcdbff04">   28</a></span>&#160;  <a class="code" href="../../d9/d8e/cpp_types_8h.html#a6f07728c866b15ff0676a9b2ebfd2ba6">Vec3&lt;T&gt;</a> <a class="code" href="../../dc/d77/struct_robot_homing_info.html#abf4040ec16284bcb4188fe19fcdbff04">rpy</a>;  <span class="comment">// body coordinates</span></div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="../../dc/d77/struct_robot_homing_info.html#aa1edeee5c09e12e166c04c1d0b1e3fb8">   29</a></span>&#160;  <span class="keywordtype">double</span> <a class="code" href="../../dc/d77/struct_robot_homing_info.html#aa1edeee5c09e12e166c04c1d0b1e3fb8">kp_lin</a>;</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="../../dc/d77/struct_robot_homing_info.html#af43f44aa70884117358c840424a12ca7">   30</a></span>&#160;  <span class="keywordtype">double</span> <a class="code" href="../../dc/d77/struct_robot_homing_info.html#af43f44aa70884117358c840424a12ca7">kd_lin</a>;</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="../../dc/d77/struct_robot_homing_info.html#a3ef8244250bfc8fadc3c1b608207b190">   31</a></span>&#160;  <span class="keywordtype">double</span> <a class="code" href="../../dc/d77/struct_robot_homing_info.html#a3ef8244250bfc8fadc3c1b608207b190">kp_ang</a>;</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="../../dc/d77/struct_robot_homing_info.html#a2e3ebe7ba69ff8774f21e81b925f4c2c">   32</a></span>&#160;  <span class="keywordtype">double</span> <a class="code" href="../../dc/d77/struct_robot_homing_info.html#a2e3ebe7ba69ff8774f21e81b925f4c2c">kd_ang</a>;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="../../dc/d77/struct_robot_homing_info.html#a608c91ebe844df5996d009ea349339e9">   33</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="../../dc/d77/struct_robot_homing_info.html#a608c91ebe844df5996d009ea349339e9">active_flag</a>;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;};</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html">   40</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d7/d9c/class_dynamics_simulator.html">DynamicsSimulator</a> {</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  EIGEN_MAKE_ALIGNED_OPERATOR_NEW</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;  <a class="code" href="../../d7/d9c/class_dynamics_simulator.html">DynamicsSimulator</a>(</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;      <a class="code" href="../../d6/db1/class_floating_base_model.html">FloatingBaseModel&lt;T&gt;</a>&amp; model,</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;      <span class="keywordtype">bool</span> useSpringDamper = <span class="keyword">false</span>);  </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keywordtype">void</span> step(T dt, <span class="keyword">const</span> <a class="code" href="../../d9/d8e/cpp_types_8h.html#ae2e5a0a178a2c528d8aa939f85db7a3e">DVec&lt;T&gt;</a>&amp; tau, T kp,</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;            T kd);  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#ab7c1b6d1eb8d4893458b6910b1f9d331">   50</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#ab7c1b6d1eb8d4893458b6910b1f9d331">runABA</a>(<span class="keyword">const</span> <a class="code" href="../../d9/d8e/cpp_types_8h.html#ae2e5a0a178a2c528d8aa939f85db7a3e">DVec&lt;T&gt;</a>&amp; tau) { _model.runABA(tau, _dstate); }</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a3c057386e8d437e8c5dbcae02acf935c">   53</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a3c057386e8d437e8c5dbcae02acf935c">forwardKinematics</a>() { _model.forwardKinematics(); }</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keywordtype">void</span> integrate(T dt);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a1b185d90d2b15840ca57f8e2adcf84fb">   61</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a1b185d90d2b15840ca57f8e2adcf84fb">setState</a>(<span class="keyword">const</span> <a class="code" href="../../de/d75/struct_f_b_model_state.html">FBModelState&lt;T&gt;</a>&amp; state) {</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    _state = state;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    _model.setState(state);  <span class="comment">// force recalculate dynamics</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  }</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a339504f4bd9866588fd73b2fc0fbab0d">   66</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a339504f4bd9866588fd73b2fc0fbab0d">setHoming</a>(<span class="keyword">const</span> <a class="code" href="../../dc/d77/struct_robot_homing_info.html">RobotHomingInfo&lt;T&gt;</a>&amp; homing) {</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    _homing = homing;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  }</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a72892f39ed60e2f50df53ea49ffb6433">   74</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="../../de/d75/struct_f_b_model_state.html">FBModelState&lt;T&gt;</a>&amp; <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a72892f39ed60e2f50df53ea49ffb6433">getState</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _state; }</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a1dc9f92d57994e053f91b9cb619adde4">   80</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="../../de/dce/struct_f_b_model_state_derivative.html">FBModelStateDerivative&lt;T&gt;</a>&amp; <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a1dc9f92d57994e053f91b9cb619adde4">getDState</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _dstate; }</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a2310bcadca5b6ed12ec9cee898335625">   87</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a2310bcadca5b6ed12ec9cee898335625">setAllExternalForces</a>(<span class="keyword">const</span> <a class="code" href="../../d9/d8e/cpp_types_8h.html#a078e1eaa8a3af13cef27a0a8d0c1302e">vectorAligned</a>&lt;<a class="code" href="../../d9/d8e/cpp_types_8h.html#a3d70f8eb9cf1855ca989f887a5543acc">SVec&lt;T&gt;</a>&gt;&amp; forces) {</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    _model._externalForces = forces;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  }</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="comment">// ! Add a collision plane.</span></div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#ac35ba5a30a31d439be9933947e6c806a">   92</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#ac35ba5a30a31d439be9933947e6c806a">addCollisionPlane</a>(T mu, T rest, T height) {</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    _contact_constr-&gt;AddCollision(<span class="keyword">new</span> <a class="code" href="../../d4/d38/class_collision_plane.html">CollisionPlane&lt;T&gt;</a>(mu, rest, height));</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  }</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <span class="comment">// ! Add a collision box</span></div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#aa3c1c830bfa1dc1ceed7ff95f2f437c1">   97</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#aa3c1c830bfa1dc1ceed7ff95f2f437c1">addCollisionBox</a>(T mu, T rest, T depth, T width, T height,</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                       <span class="keyword">const</span> <a class="code" href="../../d9/d8e/cpp_types_8h.html#a6f07728c866b15ff0676a9b2ebfd2ba6">Vec3&lt;T&gt;</a>&amp; pos, <span class="keyword">const</span> <a class="code" href="../../d9/d8e/cpp_types_8h.html#aa8cb424e643d476ea485238dad7c3e18">Mat3&lt;T&gt;</a>&amp; <a class="code" href="../../da/d9b/namespaceori.html">ori</a>) {</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    _contact_constr-&gt;AddCollision(</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        <span class="keyword">new</span> <a class="code" href="../../d1/db3/class_collision_box.html">CollisionBox&lt;T&gt;</a>(mu, rest, depth, width, height, pos, ori));</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  }</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="comment">// ! Add a collision Mesh</span></div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a3ae2854bcabc457357f541359a1c2075">  104</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a3ae2854bcabc457357f541359a1c2075">addCollisionMesh</a>(T mu, T rest, T grid_size,</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                        <span class="keyword">const</span> <a class="code" href="../../d9/d8e/cpp_types_8h.html#a6f07728c866b15ff0676a9b2ebfd2ba6">Vec3&lt;T&gt;</a>&amp; left_corner_loc,</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                        <span class="keyword">const</span> <a class="code" href="../../d9/d8e/cpp_types_8h.html#a807200f3771dbd2cb2e4be52c5f2518c">DMat&lt;T&gt;</a>&amp; height_map) {</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    _contact_constr-&gt;AddCollision(</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        <span class="keyword">new</span> <a class="code" href="../../d4/daa/class_collision_mesh.html">CollisionMesh&lt;T&gt;</a>(mu, rest, grid_size, left_corner_loc, height_map));</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  }</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#ada9c734b42dee7273707d5b0f2f8ddd7">  111</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#ada9c734b42dee7273707d5b0f2f8ddd7">getNumBodies</a>() { <span class="keywordflow">return</span> _model._nDof; }</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a2b183b6e004182044db7e31eb807e6f4">  113</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">size_t</span>&amp; <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a2b183b6e004182044db7e31eb807e6f4">getTotalNumGC</a>() { <span class="keywordflow">return</span> _model._nGroundContact; }</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a9afb9649511f0eb19f953bf470d80252">  114</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="../../d9/d8e/cpp_types_8h.html#a6f07728c866b15ff0676a9b2ebfd2ba6">Vec3&lt;T&gt;</a>&amp; <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a9afb9649511f0eb19f953bf470d80252">getContactForce</a>(<span class="keywordtype">size_t</span> idx) {</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keywordflow">return</span> _contact_constr-&gt;getGCForce(idx);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  }</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a560cb59e43a731fd2a8bb4f54b4086bd">  118</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="../../d6/db1/class_floating_base_model.html">FloatingBaseModel&lt;T&gt;</a>&amp; <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a560cb59e43a731fd2a8bb4f54b4086bd">getModel</a>() { <span class="keywordflow">return</span> _model; }</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="keywordtype">void</span> updateCollisions(T dt, T kp, T kd);  </div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a846cc5a17a011db74bcfd77c0e8e25cb">  122</a></span>&#160;  <a class="code" href="../../de/d75/struct_f_b_model_state.html">FBModelState&lt;T&gt;</a> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a846cc5a17a011db74bcfd77c0e8e25cb">_state</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#ab18a1180b0e999ac385177f361922ad9">  123</a></span>&#160;  <a class="code" href="../../de/dce/struct_f_b_model_state_derivative.html">FBModelStateDerivative&lt;T&gt;</a> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#ab18a1180b0e999ac385177f361922ad9">_dstate</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a51adda43ba61205140f8b4086de0b335">  124</a></span>&#160;  <a class="code" href="../../d6/db1/class_floating_base_model.html">FloatingBaseModel&lt;T&gt;</a>&amp; <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a51adda43ba61205140f8b4086de0b335">_model</a>;</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a823ad05f328b21a1fd3059ff6a35b538">  125</a></span>&#160;  vector&lt;CollisionPlane&lt;T&gt;&gt; <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a823ad05f328b21a1fd3059ff6a35b538">_collisionPlanes</a>;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#abd202861bda97c9e0d05cee7e6bdf61d">  126</a></span>&#160;  <a class="code" href="../../d7/d6c/class_contact_constraint.html">ContactConstraint&lt;T&gt;</a>* <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#abd202861bda97c9e0d05cee7e6bdf61d">_contact_constr</a>;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#aca5ea569f4c05ecfb4f8bfcf4ef08378">  127</a></span>&#160;  <a class="code" href="../../d9/d8e/cpp_types_8h.html#a3d70f8eb9cf1855ca989f887a5543acc">SVec&lt;T&gt;</a> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#aca5ea569f4c05ecfb4f8bfcf4ef08378">_lastBodyVelocity</a>;</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a1aeb05200221fc3f4edbbd2c1fc3bfb4">  128</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a1aeb05200221fc3f4edbbd2c1fc3bfb4">_useSpringDamper</a>;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="../../d7/d9c/class_dynamics_simulator.html#a9da22c6a15e3786276a6cf395bfd725d">  130</a></span>&#160;  <a class="code" href="../../dc/d77/struct_robot_homing_info.html">RobotHomingInfo&lt;T&gt;</a> <a class="code" href="../../d7/d9c/class_dynamics_simulator.html#a9da22c6a15e3786276a6cf395bfd725d">_homing</a>;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;};</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">#endif  // PROJECT_DYNAMICSSIMULATOR_H</span></div><div class="ttc" id="class_dynamics_simulator_html_a823ad05f328b21a1fd3059ff6a35b538"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a823ad05f328b21a1fd3059ff6a35b538">DynamicsSimulator::_collisionPlanes</a></div><div class="ttdeci">vector&lt; CollisionPlane&lt; T &gt; &gt; _collisionPlanes</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00125">DynamicsSimulator.h:125</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_a3c057386e8d437e8c5dbcae02acf935c"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a3c057386e8d437e8c5dbcae02acf935c">DynamicsSimulator::forwardKinematics</a></div><div class="ttdeci">void forwardKinematics()</div><div class="ttdoc">Do forward kinematics for feet. </div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00053">DynamicsSimulator.h:53</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html">DynamicsSimulator</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00040">DynamicsSimulator.h:40</a></div></div>
<div class="ttc" id="struct_robot_homing_info_html_a1703b27800fa38b4638bff2189bbe4cc"><div class="ttname"><a href="../../dc/d77/struct_robot_homing_info.html#a1703b27800fa38b4638bff2189bbe4cc">RobotHomingInfo::position</a></div><div class="ttdeci">EIGEN_MAKE_ALIGNED_OPERATOR_NEW Vec3&lt; T &gt; position</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00027">DynamicsSimulator.h:27</a></div></div>
<div class="ttc" id="cpp_types_8h_html_aa8cb424e643d476ea485238dad7c3e18"><div class="ttname"><a href="../../d9/d8e/cpp_types_8h.html#aa8cb424e643d476ea485238dad7c3e18">Mat3</a></div><div class="ttdeci">typename Eigen::Matrix&lt; T, 3, 3 &gt; Mat3</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d8e/cpp_types_8h_source.html#l00054">cppTypes.h:54</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_ada9c734b42dee7273707d5b0f2f8ddd7"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#ada9c734b42dee7273707d5b0f2f8ddd7">DynamicsSimulator::getNumBodies</a></div><div class="ttdeci">size_t getNumBodies()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00111">DynamicsSimulator.h:111</a></div></div>
<div class="ttc" id="cpp_types_8h_html_a807200f3771dbd2cb2e4be52c5f2518c"><div class="ttname"><a href="../../d9/d8e/cpp_types_8h.html#a807200f3771dbd2cb2e4be52c5f2518c">DMat</a></div><div class="ttdeci">typename Eigen::Matrix&lt; T, Eigen::Dynamic, Eigen::Dynamic &gt; DMat</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d8e/cpp_types_8h_source.html#l00106">cppTypes.h:106</a></div></div>
<div class="ttc" id="cpp_types_8h_html_a6f07728c866b15ff0676a9b2ebfd2ba6"><div class="ttname"><a href="../../d9/d8e/cpp_types_8h.html#a6f07728c866b15ff0676a9b2ebfd2ba6">Vec3</a></div><div class="ttdeci">typename Eigen::Matrix&lt; T, 3, 1 &gt; Vec3</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d8e/cpp_types_8h_source.html#l00026">cppTypes.h:26</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_ab18a1180b0e999ac385177f361922ad9"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#ab18a1180b0e999ac385177f361922ad9">DynamicsSimulator::_dstate</a></div><div class="ttdeci">FBModelStateDerivative&lt; T &gt; _dstate</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00123">DynamicsSimulator.h:123</a></div></div>
<div class="ttc" id="class_collision_plane_html"><div class="ttname"><a href="../../d4/d38/class_collision_plane.html">CollisionPlane</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/daf/_collision_plane_8h_source.html#l00018">CollisionPlane.h:18</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_a9afb9649511f0eb19f953bf470d80252"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a9afb9649511f0eb19f953bf470d80252">DynamicsSimulator::getContactForce</a></div><div class="ttdeci">const Vec3&lt; T &gt; &amp; getContactForce(size_t idx)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00114">DynamicsSimulator.h:114</a></div></div>
<div class="ttc" id="class_collision_mesh_html"><div class="ttname"><a href="../../d4/daa/class_collision_mesh.html">CollisionMesh</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d6/df5/_collision_mesh_8h_source.html#l00017">CollisionMesh.h:17</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_a1b185d90d2b15840ca57f8e2adcf84fb"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a1b185d90d2b15840ca57f8e2adcf84fb">DynamicsSimulator::setState</a></div><div class="ttdeci">void setState(const FBModelState&lt; T &gt; &amp;state)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00061">DynamicsSimulator.h:61</a></div></div>
<div class="ttc" id="struct_robot_homing_info_html_a2e3ebe7ba69ff8774f21e81b925f4c2c"><div class="ttname"><a href="../../dc/d77/struct_robot_homing_info.html#a2e3ebe7ba69ff8774f21e81b925f4c2c">RobotHomingInfo::kd_ang</a></div><div class="ttdeci">double kd_ang</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00032">DynamicsSimulator.h:32</a></div></div>
<div class="ttc" id="_collision_box_8h_html"><div class="ttname"><a href="../../dc/d8e/_collision_box_8h.html">CollisionBox.h</a></div><div class="ttdoc">Collision logic for a box. </div></div>
<div class="ttc" id="class_dynamics_simulator_html_a1aeb05200221fc3f4edbbd2c1fc3bfb4"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a1aeb05200221fc3f4edbbd2c1fc3bfb4">DynamicsSimulator::_useSpringDamper</a></div><div class="ttdeci">bool _useSpringDamper</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00128">DynamicsSimulator.h:128</a></div></div>
<div class="ttc" id="cpp_types_8h_html_a3d70f8eb9cf1855ca989f887a5543acc"><div class="ttname"><a href="../../d9/d8e/cpp_types_8h.html#a3d70f8eb9cf1855ca989f887a5543acc">SVec</a></div><div class="ttdeci">typename Eigen::Matrix&lt; T, 6, 1 &gt; SVec</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d8e/cpp_types_8h_source.html#l00062">cppTypes.h:62</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_a3ae2854bcabc457357f541359a1c2075"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a3ae2854bcabc457357f541359a1c2075">DynamicsSimulator::addCollisionMesh</a></div><div class="ttdeci">void addCollisionMesh(T mu, T rest, T grid_size, const Vec3&lt; T &gt; &amp;left_corner_loc, const DMat&lt; T &gt; &amp;height_map)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00104">DynamicsSimulator.h:104</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_a2b183b6e004182044db7e31eb807e6f4"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a2b183b6e004182044db7e31eb807e6f4">DynamicsSimulator::getTotalNumGC</a></div><div class="ttdeci">const size_t &amp; getTotalNumGC()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00113">DynamicsSimulator.h:113</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_a2310bcadca5b6ed12ec9cee898335625"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a2310bcadca5b6ed12ec9cee898335625">DynamicsSimulator::setAllExternalForces</a></div><div class="ttdeci">void setAllExternalForces(const vectorAligned&lt; SVec&lt; T &gt;&gt; &amp;forces)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00087">DynamicsSimulator.h:87</a></div></div>
<div class="ttc" id="struct_f_b_model_state_html"><div class="ttname"><a href="../../de/d75/struct_f_b_model_state.html">FBModelState</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d9a/_floating_base_model_8h_source.html#l00038">FloatingBaseModel.h:38</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_a339504f4bd9866588fd73b2fc0fbab0d"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a339504f4bd9866588fd73b2fc0fbab0d">DynamicsSimulator::setHoming</a></div><div class="ttdeci">void setHoming(const RobotHomingInfo&lt; T &gt; &amp;homing)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00066">DynamicsSimulator.h:66</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_a9da22c6a15e3786276a6cf395bfd725d"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a9da22c6a15e3786276a6cf395bfd725d">DynamicsSimulator::_homing</a></div><div class="ttdeci">RobotHomingInfo&lt; T &gt; _homing</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00130">DynamicsSimulator.h:130</a></div></div>
<div class="ttc" id="struct_robot_homing_info_html_aa1edeee5c09e12e166c04c1d0b1e3fb8"><div class="ttname"><a href="../../dc/d77/struct_robot_homing_info.html#aa1edeee5c09e12e166c04c1d0b1e3fb8">RobotHomingInfo::kp_lin</a></div><div class="ttdeci">double kp_lin</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00029">DynamicsSimulator.h:29</a></div></div>
<div class="ttc" id="_collision_plane_8h_html"><div class="ttname"><a href="../../d2/daf/_collision_plane_8h.html">CollisionPlane.h</a></div><div class="ttdoc">Collision logic for an infinite plane. </div></div>
<div class="ttc" id="class_dynamics_simulator_html_abd202861bda97c9e0d05cee7e6bdf61d"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#abd202861bda97c9e0d05cee7e6bdf61d">DynamicsSimulator::_contact_constr</a></div><div class="ttdeci">ContactConstraint&lt; T &gt; * _contact_constr</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00126">DynamicsSimulator.h:126</a></div></div>
<div class="ttc" id="struct_robot_homing_info_html"><div class="ttname"><a href="../../dc/d77/struct_robot_homing_info.html">RobotHomingInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00025">DynamicsSimulator.h:25</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_ab7c1b6d1eb8d4893458b6910b1f9d331"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#ab7c1b6d1eb8d4893458b6910b1f9d331">DynamicsSimulator::runABA</a></div><div class="ttdeci">void runABA(const DVec&lt; T &gt; &amp;tau)</div><div class="ttdoc">Simulate forward one step. </div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00050">DynamicsSimulator.h:50</a></div></div>
<div class="ttc" id="class_contact_constraint_html"><div class="ttname"><a href="../../d7/d6c/class_contact_constraint.html">ContactConstraint</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d79/_contact_constraint_8h_source.html#l00020">ContactConstraint.h:20</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_a72892f39ed60e2f50df53ea49ffb6433"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a72892f39ed60e2f50df53ea49ffb6433">DynamicsSimulator::getState</a></div><div class="ttdeci">const FBModelState&lt; T &gt; &amp; getState() const </div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00074">DynamicsSimulator.h:74</a></div></div>
<div class="ttc" id="struct_f_b_model_state_derivative_html"><div class="ttname"><a href="../../de/dce/struct_f_b_model_state_derivative.html">FBModelStateDerivative</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d9a/_floating_base_model_8h_source.html#l00057">FloatingBaseModel.h:57</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_ac35ba5a30a31d439be9933947e6c806a"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#ac35ba5a30a31d439be9933947e6c806a">DynamicsSimulator::addCollisionPlane</a></div><div class="ttdeci">void addCollisionPlane(T mu, T rest, T height)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00092">DynamicsSimulator.h:92</a></div></div>
<div class="ttc" id="cpp_types_8h_html_a078e1eaa8a3af13cef27a0a8d0c1302e"><div class="ttname"><a href="../../d9/d8e/cpp_types_8h.html#a078e1eaa8a3af13cef27a0a8d0c1302e">vectorAligned</a></div><div class="ttdeci">typename std::vector&lt; T, Eigen::aligned_allocator&lt; T &gt;&gt; vectorAligned</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d8e/cpp_types_8h_source.html#l00118">cppTypes.h:118</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_aca5ea569f4c05ecfb4f8bfcf4ef08378"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#aca5ea569f4c05ecfb4f8bfcf4ef08378">DynamicsSimulator::_lastBodyVelocity</a></div><div class="ttdeci">SVec&lt; T &gt; _lastBodyVelocity</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00127">DynamicsSimulator.h:127</a></div></div>
<div class="ttc" id="_contact_constraint_8h_html"><div class="ttname"><a href="../../d5/d79/_contact_constraint_8h.html">ContactConstraint.h</a></div><div class="ttdoc">Virtual class of Contact Constraint logic. </div></div>
<div class="ttc" id="class_dynamics_simulator_html_a1dc9f92d57994e053f91b9cb619adde4"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a1dc9f92d57994e053f91b9cb619adde4">DynamicsSimulator::getDState</a></div><div class="ttdeci">const FBModelStateDerivative&lt; T &gt; &amp; getDState() const </div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00080">DynamicsSimulator.h:80</a></div></div>
<div class="ttc" id="namespacespatial_html"><div class="ttname"><a href="../../de/d1a/namespacespatial.html">spatial</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d9/dc8/spatial_8h_source.html#l00019">spatial.h:19</a></div></div>
<div class="ttc" id="class_floating_base_model_html"><div class="ttname"><a href="../../d6/db1/class_floating_base_model.html">FloatingBaseModel</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d9a/_floating_base_model_8h_source.html#l00069">FloatingBaseModel.h:69</a></div></div>
<div class="ttc" id="_collision_mesh_8h_html"><div class="ttname"><a href="../../d6/df5/_collision_mesh_8h.html">CollisionMesh.h</a></div><div class="ttdoc">Collision logic for a mesh. </div></div>
<div class="ttc" id="orientation__tools_8h_html"><div class="ttname"><a href="../../d4/dfb/orientation__tools_8h.html">orientation_tools.h</a></div><div class="ttdoc">Utility functions for 3D rotations. </div></div>
<div class="ttc" id="struct_robot_homing_info_html_a608c91ebe844df5996d009ea349339e9"><div class="ttname"><a href="../../dc/d77/struct_robot_homing_info.html#a608c91ebe844df5996d009ea349339e9">RobotHomingInfo::active_flag</a></div><div class="ttdeci">bool active_flag</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00033">DynamicsSimulator.h:33</a></div></div>
<div class="ttc" id="cpp_types_8h_html_ae2e5a0a178a2c528d8aa939f85db7a3e"><div class="ttname"><a href="../../d9/d8e/cpp_types_8h.html#ae2e5a0a178a2c528d8aa939f85db7a3e">DVec</a></div><div class="ttdeci">typename Eigen::Matrix&lt; T, Eigen::Dynamic, 1 &gt; DVec</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d8e/cpp_types_8h_source.html#l00102">cppTypes.h:102</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_a51adda43ba61205140f8b4086de0b335"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a51adda43ba61205140f8b4086de0b335">DynamicsSimulator::_model</a></div><div class="ttdeci">FloatingBaseModel&lt; T &gt; &amp; _model</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00124">DynamicsSimulator.h:124</a></div></div>
<div class="ttc" id="struct_robot_homing_info_html_a3ef8244250bfc8fadc3c1b608207b190"><div class="ttname"><a href="../../dc/d77/struct_robot_homing_info.html#a3ef8244250bfc8fadc3c1b608207b190">RobotHomingInfo::kp_ang</a></div><div class="ttdeci">double kp_ang</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00031">DynamicsSimulator.h:31</a></div></div>
<div class="ttc" id="namespaceori_html"><div class="ttname"><a href="../../da/d9b/namespaceori.html">ori</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d4/dfb/orientation__tools_8h_source.html#l00028">orientation_tools.h:28</a></div></div>
<div class="ttc" id="class_collision_box_html"><div class="ttname"><a href="../../d1/db3/class_collision_box.html">CollisionBox</a></div><div class="ttdef"><b>Definition:</b> <a href="../../dc/d8e/_collision_box_8h_source.html#l00017">CollisionBox.h:17</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_a846cc5a17a011db74bcfd77c0e8e25cb"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a846cc5a17a011db74bcfd77c0e8e25cb">DynamicsSimulator::_state</a></div><div class="ttdeci">FBModelState&lt; T &gt; _state</div><div class="ttdoc">Update ground collision list. </div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00122">DynamicsSimulator.h:122</a></div></div>
<div class="ttc" id="struct_robot_homing_info_html_af43f44aa70884117358c840424a12ca7"><div class="ttname"><a href="../../dc/d77/struct_robot_homing_info.html#af43f44aa70884117358c840424a12ca7">RobotHomingInfo::kd_lin</a></div><div class="ttdeci">double kd_lin</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00030">DynamicsSimulator.h:30</a></div></div>
<div class="ttc" id="class_dynamics_simulator_html_a560cb59e43a731fd2a8bb4f54b4086bd"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#a560cb59e43a731fd2a8bb4f54b4086bd">DynamicsSimulator::getModel</a></div><div class="ttdeci">const FloatingBaseModel&lt; T &gt; &amp; getModel()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00118">DynamicsSimulator.h:118</a></div></div>
<div class="ttc" id="struct_robot_homing_info_html_abf4040ec16284bcb4188fe19fcdbff04"><div class="ttname"><a href="../../dc/d77/struct_robot_homing_info.html#abf4040ec16284bcb4188fe19fcdbff04">RobotHomingInfo::rpy</a></div><div class="ttdeci">Vec3&lt; T &gt; rpy</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00028">DynamicsSimulator.h:28</a></div></div>
<div class="ttc" id="_floating_base_model_8h_html"><div class="ttname"><a href="../../d5/d9a/_floating_base_model_8h.html">FloatingBaseModel.h</a></div><div class="ttdoc">Implementation of Rigid Body Floating Base model data structure. </div></div>
<div class="ttc" id="class_dynamics_simulator_html_aa3c1c830bfa1dc1ceed7ff95f2f437c1"><div class="ttname"><a href="../../d7/d9c/class_dynamics_simulator.html#aa3c1c830bfa1dc1ceed7ff95f2f437c1">DynamicsSimulator::addCollisionBox</a></div><div class="ttdeci">void addCollisionBox(T mu, T rest, T depth, T width, T height, const Vec3&lt; T &gt; &amp;pos, const Mat3&lt; T &gt; &amp;ori)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d52/_dynamics_simulator_8h_source.html#l00097">DynamicsSimulator.h:97</a></div></div>
<div class="ttc" id="spatial_8h_html"><div class="ttname"><a href="../../d9/dc8/spatial_8h.html">spatial.h</a></div><div class="ttdoc">Utility functions for manipulating spatial quantities. </div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="../../dir_43e0a1f539e00dcfa1a6bc4d4fee4fc2.html">home</a></li><li class="navelem"><a class="el" href="../../dir_61bfb0b3cdda81b1b0355ba34eb3b1eb.html">dhkim</a></li><li class="navelem"><a class="el" href="../../dir_adee5b101e079090017bb4e91c628ead.html">Public_Repository</a></li><li class="navelem"><a class="el" href="../../dir_7fc07a7b97001e7b1d18e11da761e2de.html">Cheetah-Software</a></li><li class="navelem"><a class="el" href="../../dir_860379c26524a894b3cf97b5b1ba5bdb.html">common</a></li><li class="navelem"><a class="el" href="../../dir_275ce76ae8a9e2090fbb7142d3994a0e.html">include</a></li><li class="navelem"><a class="el" href="../../dir_5f249a132d763dc59b0ff1086b98b7c1.html">Dynamics</a></li><li class="navelem"><a class="el" href="../../d0/d52/_dynamics_simulator_8h.html">DynamicsSimulator.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
